package es.acm.calendario
{
	import flash.events.Event;
	
	import mx.collections.ArrayCollection;
	import mx.core.IContainer;
	import mx.core.IVisualElement;
	
	import spark.components.Label;
	
	[Bindable]
	public interface IDayCalendar extends IVisualElement
	{
		// Properties
		function get enabled():Boolean;
		function set enabled(value:Boolean):void;
		function get label():Label;
		function set label(value:Label):void;
		function get events():ArrayCollection;
		function set events(value:ArrayCollection):void;
		function get date():Date;
		function set date(value:Date):void;
		function set isToday(value:Boolean):void;
		function get isToday():Boolean;
		function set isActive(value:Boolean):void;
		function get isActive():Boolean;
		
		// Functions
		function addEvent(value:IDayData):void;	
		function toString():String;
		
		// States
		function setNormal():void;
		function setActive():void;
		function setDisabled():void;
		function setTodayNormal():void;
		function setTodayActive():void;
		function setTodayDisabled():void;
		function setOver():void;
		function setOut():void;

	}
}